#ifndef PROJECT_MANAGER_H
#define PROJECT_MANAGER_H

#include "POSIX_MessageQueue.hpp"
#include <string>
#include <memory>

class ProjectManager
{
  public:
    ProjectManager();
    virtual ~ProjectManager();

    bool CreateProject(const std::string & Name,const std::string & Decribe);
    std::vector<std::string> GetProjectList();
    bool CreateTask(const std::string & project_name,const std::string & task_name);
    std::vector<std::string> GetTaskList(const std::string & project_name);
    std::string GetTaskPath(const std::string & project_name,const std::string & task_name);
    std::vector<std::string> GetTaskVideo(const std::string & project_name,const std::string & task_name);
    bool CreateTaskVideo(const std::string & project_name,const std::string & task_name,const std::string & CameraID,const std::string & Videoname);
    std::string GetTaskVideoPath(const std::string & project_name,const std::string & task_name,const std::string & CameraID);
    int refreshVideoList(const std::string & project_name,const std::string & task_name);
    
  private:
    std::unique_ptr<POSIX_MessageQueue> messageQueue;
};

#endif
